package com.nintendo.bubblechat.service;

import com.nintendo.bubblechat.entity.dto.UserDTO;
import com.nintendo.bubblechat.entity.vo.UsersVo;
import com.nintendo.bubblechat.netty.ChatMsg;

import java.util.List;

public interface UsersService {
    /**
     * 根据用户手机号注册新用户
     * @param phone
     * @return
     */
    UsersVo saveUser(String phone);
    /**
     * 修改用户信息
     * @param userDTO
     * @return
     */
    UsersVo updateUserInfo(UserDTO userDTO);

    /**
     * 根据手机号查询用户
     * @param mobile
     * @return
     */
    UsersVo searchFriend(String mobile);

    /**
     * 批量查询用户
     * @param requestUserIds
     * @return
     */
    List<UsersVo> findUserByUserIds(List<String> requestUserIds);

    /**
     * 根据朋友Id查询朋友信息
     * @param friendUserId
     * @return
     */
    UsersVo findFriendProfile(String friendUserId);

    /**
     * 保存消息
     * @param chatMsg
     * @return
     */
    String saveMsg(ChatMsg chatMsg);

    /**
     * 批量签收消息
     * @param msgIdList
     */
    void updateMsgSigned(List<String> msgIdList);

    /**
     * 根据Id 查询用户信息
     * @param senderId
     * @return
     */
    UsersVo findUserById(String senderId);
}
